Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Spain F32 Spain F6 Spain F7 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Morocco F4 Italy F18 Spain F28 Spain F29 Spain F31 Spain F38 Spain F39 Spain F41 Spain F1 Spain F2 Spain F4 Spain F6 Croatia F5 Italy F3 Italy F5 Spain F10 Spain F11 Spain F12 Spain F14 Poland F3 Italy F13 France F13 Czech Republic F5 Spain F22 Croatia F7 Poland F5 Spain F26 Spain F27 Serbia F13 Spain F30 Spain F32 Morocco F6 Morocco F7 Morocco F9 Turkey F3 Spain F2 Croatia F2 Spain F3 Spain F4 Spain F6 Spain F7 Spain F8 Turkey F14 Turkey F15 Bosnia & Herzegovina F1 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Spain F19 Egypt F15 Egypt F16 Serbia F7 Italy F22 Croatia F8 Serbia F13 Spain F32 Spain F33 Spain F34 Spain F36 Spain F38 Egypt F3 Turkey F1 Spain F1 Turkey F2 Turkey F3 Spain F3 Spain F4 Egypt F9 Italy F7 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Bulgaria F2 Bulgaria F3 Bulgaria F4 Bulgaria F6 Serbia F7 Austria F6 Austria F7 Austria F8 Serbia F14 Spain F29 Spain F30 Czech Republic F4 Czech Republic F5 Turkey F44 Turkey F45 Turkey F46 Egypt F1 Egypt F2 Egypt F3 Egypt F10 Italy F6 Egypt F14 Croatia F11 Egypt F11 Turkey F7 Egypt F12 Egypt F13 Turkey F16 Turkey F17 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F4 Bosnia & Herzegovina F5 Serbia F3 Serbia F4 Serbia F6 Serbia F7 Serbia F8 Serbia F10 Croatia F14 Croatia F15 Croatia F16 Croatia F17 Greece F8 Tunisia F32 Tunisia F33 Turkey F2 Turkey F3 Croatia F9 Turkey F10 Turkey F14 Turkey F15 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Macedonia F1 Serbia F1 Serbia F2 Serbia F4 Serbia F5 Serbia F6 Croatia F9 Croatia F10 Croatia F11 Tunisia F2 (Hammamet) Turkey F47 Tunisia F6 (Hammamet) Turkey F9 (Antalya) Turkey F10 (Antalya) Turkey F11 (Antalya) Tunisia F14 (Hammamet) Tunisia F15 (Hammamet) Turkey F18 (Antalya) Czech Republic F1 (Prague) Bosnia & Herzegovina F2 (Brcko) Bosnia & Herzegovina F3 (Kiseljak) Georgia F1 (Telavi) Georgia F2 (Telavi) Georgia F3 (Telavi) Serbia F1 (Novi Sad) Serbia F2 (Novi Sad) Turkey F36 (Antalya) Greece F7 Turkey F37 (Antalya) Turkey F38 (Antalya) Turkey F39 (Antalya) Greece F9 Qatar F4 (Doha) Qatar F5 (Doha) Qatar F6 (Doha) Turkey F15 (Antalya) Turkey F16 (Antalya) Bosnia & Herzegovina F1 (Doboj) Bosnia & Herzegovina F2 (Brcko) Bosnia & Herzegovina F3 (Kiseljak) Germany F4 (Kaltenkirchen) Austria F2 (Kramsach) Austria F3 (Wels) Italy F20 (Pontedera) Austria F5 (Vogau) Italy F32 (Santa Margherita Di Pula) Italy F33 (Santa Margherita Di Pula) Italy F34 (Santa Margherita Di Pula) Turkey F36 (Antalya) Turkey F39 (Antalya) Turkey F40 (Antalya) M15 Antalya M15 Antalya M15 Opatija M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Prijedor M25 Doboj M25 Kiseljak M15 Belgrade M25+H Kassel M15 Piombino M15 Zlatibor M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Santa Margherita Di Pula M25 Monastir M25 Trento M15 Porec M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Prijedor Spain F31 M25 Antalya M25 Antalya M25 Antalya Spain F5 M15 Antalya M15 Bol Serbia F14 Croatia F10 M15 Porec M25 Antalya M25 Santa Margherita di Pula Turkey F7 M25 Santa Margherita di Pula M25 Antalya M25 Antalya Seville Challenger Sarajevo Challenger Madrid Challenger Sarajevo Challenger Mauthausen Challenger Tanger Challenger Scheveningen Challenger Poznan Challenger Orbetello Challenger Segovia Challenger Cordenons Challenger M25 Zlatibor Como Challenger Brasov Challenger Banja Luka Challenger Turkey F11 Bordeaux Challenger Vicenza Challenger Marburg Challenger San Benedetto Challenger Liberec Challenger Kenitra Challenger Lima Challenger Bucaramanga Challenger Santo Domingo Challenger Bordeaux Challenger Caltanissetta Challenger Perugia Challenger San Benedetto Challenger Prague Challenger Como Challenger Meknes Challenger Rome Challenger Guayaquil Challenger Buenos Aires Challenger Buenos Aires Challenger Furth Challenger Serbia F9 Bordeaux Challenger Perugia Challenger Cortina Challenger Seville Challenger Meerbusch Challenger Meknes Challenger Como Challenger Genova Challenger Meknes Challenger Guayaquil Challenger Casablanca Challenger Casablanca Challenger Noumea Challenger Guangzhou Challenger Sophia Antipolis Challenger Ostrava Challenger Bordeaux Challenger Poprad Tatry Challenger M15 Dubrovnik Cordenons Challenger San Benedetto Challenger Cortina Challenger Biella Challenger Cordenons Challenger Seville Challenger Mohammedia Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Santo Domingo Challenger Guadalajara Challenger Napoli Challenger Barletta Challenger Alicante Challenger Lyon Challenger Fano Challenger Braunschweig Challenger Biella Challenger Florence Challenger Turkey F8 Brest Challenger Lisbon Challenger Canberra Challenger Bastad Challenger M15 Porec Serbia F3 (Subotica) Manerbio Challenger Murcia Challenger Banja Luka Challenger Rome Challenger Cali Challenger Lisbon Challenger Poznan Challenger Szczecin Challenger Antalya 4 Challenger Gran Canaria Challenger Barletta Challenger Zagreb Challenger Banja Luka Challenger Prostejov Challenger Maia Challenger L'Aquila Challenger M15 Antalya San Marino Challenger Barcelona Challenger Phoenix Challenger Alicante Challenger Genova Challenger Barcelona Challenger Milan Challenger Salzburg-Anif Challenger Parma Challenger Cordenons Challenger Liberec Challenger Meerbusch Challenger Luedenscheid Challenger Verona Challenger Seville Challenger Ambato Challenger Zadar Challenger Pozoblanco Challenger Bergamo Challenger Ortisei Challenger Forli 2 Challenger Forli 3 Challenger Zadar Challenger Marbella Challenger Sanremo Challenger Madrid Challenger Mauthausen Challenger Tunis Challenger Vicenza Challenger Forli 6 Challenger Perugia Challenger Skopje Challenger Oeiras 3 Challenger Trieste Challenger Perugia Challenger San Marino Challenger Szczecin Challenger Orleans Challenger San Marino Challenger Parma Challenger Ismaning Challenger Vilnus Challenger Zug Challenger Ortisei Challenger Valencia Challenger Phoenix Challenger Prague 2 Challenger Vicenza Challenger Perugia Challenger Sofia 1 Challenger Como Challenger Seville Challenger Bad Waltersdorf Challenger Sibiu Challenger Canberra Challenger Milan Challenger Rome Challenger Mohammedia Challenger Zagreb Challenger Brasov Challenger Braunschweig Challenger Helsinki Challenger Lisbon Challenger Verona Challenger Cordenons Challenger Brest Challenger Bendigo Challenger Seville Challenger Todi Challenger Aix En Provence Challenger Marbella Challenger Guayaquil Challenger Split 1 Challenger Szczecin Challenger Murcia Challenger Santiago Challenger Losinj Challenger Antalya 3 Challenger Shenzhen Challenger Manerbio Challenger Vicenza Challenger Kenitra Challenger Banja Luka Challenger Marbella Challenger Szekesfehervar Challenger Bordeaux Challenger Padova Challenger Ortisei Challenger Montechiarugolo - Parma Challenger Barcelona Open Banc Sabadell - Barcelona Napoli Challenger Marbella Challenger Braga Challenger Salzburg Challenger Sarajevo Challenger Rome Challenger Casablanca Challenger Turin Challenger Verona Challenger Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Prague Challenger Alphen Challenger Prague Challenger Seville Challenger Grand Prix Hassan II - Casablanca Portugal Open - Oeiras Split Challenger Shenzhen Challenger Cordenons Challenger Ecuador Open - Quito Barcelona Open BancSabadell - Barcelona Casablanca Challenger Argentina Open - Buenos Aires Mendoza Challenger Millennium Estoril Open - Estoril Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona TEB BNP Paribas Istanbul Open - Istanbul Lisbon Challenger Ecuador Open - Quito SkiStar Swedish Open - Bastad Furth Challenger Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Bastad Challenger Generali Open - Kitzbuhel Szczecin Challenger Rio De Janeiro Challenger Kenitra Challenger Ecuador Open - Quito Barcelona Open BancSabadell - Barcelona Open Parc - Lyon Antalya Cup - Antalya Winston-Salem Open - Winston-Salem Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Prostejov Challenger Turkish Airlines Open Antalya - Antalya Generali Open - Kitzbuhel Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Winston-Salem Open - Winston-Salem Argentina Open - Buenos Aires Brasil Open - Sao Paulo Manama Challenger Sibiu Challenger M25 Santa Margherita di Pula Tata Open Maharashtra - Pune Forte Village Sardegna Open - Sardinia Barcelona Open Banc Sabadell - Barcelona Santiago Challenger Cordoba Open - Cordoba Rio De Janeiro Challenger Seville Challenger Fever-Tree Championships - London SkiStar Swedish Open - Bastad Serbia Open - Belgrade Swiss Open - Gstaad Vicenza Challenger Mallorca Championships - Mallorca Nordea Open - Bastad St. Petersburg Open - St. Petersburg Plava Laguna Croatia Open - Umag Kremlin Cup - Moscow Cordoba Open - Cordoba Mohammedia Challenger Todi Challenger Erste Bank Open - Vienna Oberstaufen Challenger Belgrade 2 - Belgrade SkiStar Swedish Open - Bastad Cordoba Open - Cordoba Argentina Open - Buenos Aires Mersin Challenger Mestre Challenger Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Open Parc - Lyon Swiss Open - Gstaad European Open - Antwerp Grand Prix Hassan II - Marrakech Plava Laguna Croatia Open - Umag Adelaide International 2 - Adelaide Firenze Open - Florence Tennis Napoli Open - Naples Tata Open Maharashtra - Pune Helsinki Challenger Cordoba Open - Cordoba Brescia Challenger Qatar ExxonMobil Open - Doha Bergamo Challenger Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Rome Challenger Millennium Estoril Open - Estoril Lima Challenger Campinas Challenger Modena Challenger Salzburg Challenger Santiago Challenger Anytech365 Andalucia Open - Marbella Zadar Challenger Marbella Challenger Rio Open - Rio de Janeiro Belgrade Challenger Terra Wortmann Open - Halle Grand Prix Hassan II - Marrakech Aix En Provence Challenger Forli Challenger Perugia Challenger Iasi Challenger Lyon Challenger Seville Challenger European Open - Antwerp Bad Waltersdorf Challenger ASB Classic - Auckland Grand Prix Hassan II - Marrakech Banja Luka Open - Banja Luka Plava Laguna Croatia Open - Umag Plava Laguna Croatia Open - Umag Astana Open - Astana Amersfoort Challenger San Benedetto Challenger Santo Domingo Challenger Como Challenger European Open - Antwerp Zadar Challenger Gonet Geneva Open - Geneva Skopje Challenger Zagreb Challenger Sofia Open - Sofia Braunschweig Challenger Malaga Challenger EFG Swiss Open - Gstaad Argentina Open - Buenos Aires Ismaning Challenger Movistar Chile Open - Santiago Olbia Challenger Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Maspalomas Challenger Gonet Geneva Open - Geneva Nordea Open - Bastad EFG Swiss Open - Gstaad Barletta Challenger Citi Open - Washington Moselle Open - Metz Perugia Challenger San Marino Challenger Argentina Open - Buenos Aires Argentina Open - Buenos Aires Argentina Open - Buenos Aires Argentina Open - Buenos Aires Naples Challenger Antalya Challenger Noumea Challenger Argentina Open - Buenos Aires Karlsruhe Challenger BMW Open - Munich St. Petersburg 1 Challenger Generali Open - Kitzbuhel Braga Challenger Trieste Challenger Hong Kong Tennis Open - Hong Kong Banja Luka Challenger Forli 1 Challenger Phoenix Challenger Zadar Challenger Split Challenger Valencia Challenger Iasi Challenger Sibiu Challenger Swiss Open - Gstaad Split Challenger Santiago Open - Santiago Mallorca Championships - Mallorca Cordoba Open - Cordoba Rio Open - Rio de Janeiro EFG Swiss Open - Gstaad Generali Open - Kitzbuhel Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona Mutua Madrid Open - Madrid BMW Open - Munich ASB Classic - Auckland Rio Open - Rio de Janeiro Mutua Madrid Open - Madrid Miami Open - Miami Mutua Madrid Open - Madrid Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Great Ocean Road Open - Melbourne Adelaide International 1 - Adelaide Mallorca Championships - Mallorca Hangzhou Open - Hangzhou China Open - Beijing BNP Paribas Open - Indian Wells Miami Open - Miami Dallas Open - Dallas Mutua Madrid Open - Madrid Abierto Mexicano Telcel - Acapulco Monte-Carlo Rolex Masters - Monte-Carlo Rolex Paris Masters - Paris Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Miami Open - Miami Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid Rolex Paris Masters - Paris Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Shanghai Rolex Masters - Shanghai Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami National Bank Open - Toronto Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Cincinnati Open - Cincinnati Banja Luka Challenger Maharashtra Open - Pune Open Sabadell Atlantico - Barcelona Generali Open - Kitzbuhel Australian Open - Melbourne French Open - Paris Wimbledon - London Sofia Open - Sofia French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne U.S. Open - New York U.S. Open - New York Wimbledon - London U.S. Open - New York French Open - Paris BNP Paribas Masters - Paris Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group II, 3R, LTU-BIH 0-5 Wimbledon - London Davis Cup, Group I, 1R, BIH-MEX 3-1 French Open - Paris Davis Cup, Group I, 1R, ECU-BIH 3-2 M25 Santa Margherita di Pula Australian Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments Davis Cup, World Group, Q, SUI-ESP 1-3 Davis Cup, Group II, 1R, BIH-LUX 4-1 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, Group I, 1R, BIH-GER 0-4 Manama Challenger Olympics - Tokyo Rio Open - Rio de Janeiro National Bank Open - Montreal U.S. Open - New York Shanghai Challenger Villena Challenger Shanghai Rolex Masters - Shanghai Australian Open - Melbourne Miami Open - Miami Wimbledon - London Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group I, PO, BUL-BIH 1-3 BNP Paribas Open - Indian Wells